package top.infopub.model.bpa;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DeductionRecordExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeductionRecordExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.isEmpty()) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria();
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return !criteria.isEmpty();
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value) {
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2) {
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andSguidIsNull() {
            addCriterion("SGUID is null");
            return (Criteria) this;
        }

        public Criteria andSguidIsNotNull() {
            addCriterion("SGUID is not null");
            return (Criteria) this;
        }

        public Criteria andSguidEqualTo(String value) {
            addCriterion("SGUID =", value);
            return (Criteria) this;
        }

        public Criteria andSguidNotEqualTo(String value) {
            addCriterion("SGUID <>", value);
            return (Criteria) this;
        }

        public Criteria andSguidGreaterThan(String value) {
            addCriterion("SGUID >", value);
            return (Criteria) this;
        }

        public Criteria andSguidGreaterThanOrEqualTo(String value) {
            addCriterion("SGUID >=", value);
            return (Criteria) this;
        }

        public Criteria andSguidLessThan(String value) {
            addCriterion("SGUID <", value);
            return (Criteria) this;
        }

        public Criteria andSguidLessThanOrEqualTo(String value) {
            addCriterion("SGUID <=", value);
            return (Criteria) this;
        }

        public Criteria andSguidLike(String value) {
            addCriterion("SGUID like", value);
            return (Criteria) this;
        }

        public Criteria andSguidNotLike(String value) {
            addCriterion("SGUID not like", value);
            return (Criteria) this;
        }

        public Criteria andSguidIn(List<String> values) {
            addCriterion("SGUID in", values);
            return (Criteria) this;
        }

        public Criteria andSguidNotIn(List<String> values) {
            addCriterion("SGUID not in", values);
            return (Criteria) this;
        }

        public Criteria andSguidBetween(String value1, String value2) {
            addCriterion("SGUID between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andSguidNotBetween(String value1, String value2) {
            addCriterion("SGUID not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andCodesIsNull() {
            addCriterion("CODES is null");
            return (Criteria) this;
        }

        public Criteria andCodesIsNotNull() {
            addCriterion("CODES is not null");
            return (Criteria) this;
        }

        public Criteria andCodesEqualTo(String value) {
            addCriterion("CODES =", value);
            return (Criteria) this;
        }

        public Criteria andCodesNotEqualTo(String value) {
            addCriterion("CODES <>", value);
            return (Criteria) this;
        }

        public Criteria andCodesGreaterThan(String value) {
            addCriterion("CODES >", value);
            return (Criteria) this;
        }

        public Criteria andCodesGreaterThanOrEqualTo(String value) {
            addCriterion("CODES >=", value);
            return (Criteria) this;
        }

        public Criteria andCodesLessThan(String value) {
            addCriterion("CODES <", value);
            return (Criteria) this;
        }

        public Criteria andCodesLessThanOrEqualTo(String value) {
            addCriterion("CODES <=", value);
            return (Criteria) this;
        }

        public Criteria andCodesLike(String value) {
            addCriterion("CODES like", value);
            return (Criteria) this;
        }

        public Criteria andCodesNotLike(String value) {
            addCriterion("CODES not like", value);
            return (Criteria) this;
        }

        public Criteria andCodesIn(List<String> values) {
            addCriterion("CODES in", values);
            return (Criteria) this;
        }

        public Criteria andCodesNotIn(List<String> values) {
            addCriterion("CODES not in", values);
            return (Criteria) this;
        }

        public Criteria andCodesBetween(String value1, String value2) {
            addCriterion("CODES between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andCodesNotBetween(String value1, String value2) {
            addCriterion("CODES not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProCodeIsNull() {
            addCriterion("PRO_CODE is null");
            return (Criteria) this;
        }

        public Criteria andProCodeIsNotNull() {
            addCriterion("PRO_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andProCodeEqualTo(String value) {
            addCriterion("PRO_CODE =", value);
            return (Criteria) this;
        }

        public Criteria andProCodeNotEqualTo(String value) {
            addCriterion("PRO_CODE <>", value);
            return (Criteria) this;
        }

        public Criteria andProCodeGreaterThan(String value) {
            addCriterion("PRO_CODE >", value);
            return (Criteria) this;
        }

        public Criteria andProCodeGreaterThanOrEqualTo(String value) {
            addCriterion("PRO_CODE >=", value);
            return (Criteria) this;
        }

        public Criteria andProCodeLessThan(String value) {
            addCriterion("PRO_CODE <", value);
            return (Criteria) this;
        }

        public Criteria andProCodeLessThanOrEqualTo(String value) {
            addCriterion("PRO_CODE <=", value);
            return (Criteria) this;
        }

        public Criteria andProCodeLike(String value) {
            addCriterion("PRO_CODE like", value);
            return (Criteria) this;
        }

        public Criteria andProCodeNotLike(String value) {
            addCriterion("PRO_CODE not like", value);
            return (Criteria) this;
        }

        public Criteria andProCodeIn(List<String> values) {
            addCriterion("PRO_CODE in", values);
            return (Criteria) this;
        }

        public Criteria andProCodeNotIn(List<String> values) {
            addCriterion("PRO_CODE not in", values);
            return (Criteria) this;
        }

        public Criteria andProCodeBetween(String value1, String value2) {
            addCriterion("PRO_CODE between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProCodeNotBetween(String value1, String value2) {
            addCriterion("PRO_CODE not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionModeIsNull() {
            addCriterion("DEDUCTION_MODE is null");
            return (Criteria) this;
        }

        public Criteria andDeductionModeIsNotNull() {
            addCriterion("DEDUCTION_MODE is not null");
            return (Criteria) this;
        }

        public Criteria andDeductionModeEqualTo(String value) {
            addCriterion("DEDUCTION_MODE =", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeNotEqualTo(String value) {
            addCriterion("DEDUCTION_MODE <>", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeGreaterThan(String value) {
            addCriterion("DEDUCTION_MODE >", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeGreaterThanOrEqualTo(String value) {
            addCriterion("DEDUCTION_MODE >=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeLessThan(String value) {
            addCriterion("DEDUCTION_MODE <", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeLessThanOrEqualTo(String value) {
            addCriterion("DEDUCTION_MODE <=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeLike(String value) {
            addCriterion("DEDUCTION_MODE like", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeNotLike(String value) {
            addCriterion("DEDUCTION_MODE not like", value);
            return (Criteria) this;
        }

        public Criteria andDeductionModeIn(List<String> values) {
            addCriterion("DEDUCTION_MODE in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionModeNotIn(List<String> values) {
            addCriterion("DEDUCTION_MODE not in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionModeBetween(String value1, String value2) {
            addCriterion("DEDUCTION_MODE between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionModeNotBetween(String value1, String value2) {
            addCriterion("DEDUCTION_MODE not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyIsNull() {
            addCriterion("DEDUCTION_MONEY is null");
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyIsNotNull() {
            addCriterion("DEDUCTION_MONEY is not null");
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyEqualTo(Long value) {
            addCriterion("DEDUCTION_MONEY =", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyNotEqualTo(Long value) {
            addCriterion("DEDUCTION_MONEY <>", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyGreaterThan(Long value) {
            addCriterion("DEDUCTION_MONEY >", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyGreaterThanOrEqualTo(Long value) {
            addCriterion("DEDUCTION_MONEY >=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyLessThan(Long value) {
            addCriterion("DEDUCTION_MONEY <", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyLessThanOrEqualTo(Long value) {
            addCriterion("DEDUCTION_MONEY <=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyIn(List<Long> values) {
            addCriterion("DEDUCTION_MONEY in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyNotIn(List<Long> values) {
            addCriterion("DEDUCTION_MONEY not in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyBetween(Long value1, Long value2) {
            addCriterion("DEDUCTION_MONEY between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionMoneyNotBetween(Long value1, Long value2) {
            addCriterion("DEDUCTION_MONEY not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andContractCodeIsNull() {
            addCriterion("CONTRACT_CODE is null");
            return (Criteria) this;
        }

        public Criteria andContractCodeIsNotNull() {
            addCriterion("CONTRACT_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andContractCodeEqualTo(String value) {
            addCriterion("CONTRACT_CODE =", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeNotEqualTo(String value) {
            addCriterion("CONTRACT_CODE <>", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeGreaterThan(String value) {
            addCriterion("CONTRACT_CODE >", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeGreaterThanOrEqualTo(String value) {
            addCriterion("CONTRACT_CODE >=", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeLessThan(String value) {
            addCriterion("CONTRACT_CODE <", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeLessThanOrEqualTo(String value) {
            addCriterion("CONTRACT_CODE <=", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeLike(String value) {
            addCriterion("CONTRACT_CODE like", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeNotLike(String value) {
            addCriterion("CONTRACT_CODE not like", value);
            return (Criteria) this;
        }

        public Criteria andContractCodeIn(List<String> values) {
            addCriterion("CONTRACT_CODE in", values);
            return (Criteria) this;
        }

        public Criteria andContractCodeNotIn(List<String> values) {
            addCriterion("CONTRACT_CODE not in", values);
            return (Criteria) this;
        }

        public Criteria andContractCodeBetween(String value1, String value2) {
            addCriterion("CONTRACT_CODE between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andContractCodeNotBetween(String value1, String value2) {
            addCriterion("CONTRACT_CODE not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andContractNameIsNull() {
            addCriterion("CONTRACT_NAME is null");
            return (Criteria) this;
        }

        public Criteria andContractNameIsNotNull() {
            addCriterion("CONTRACT_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andContractNameEqualTo(String value) {
            addCriterion("CONTRACT_NAME =", value);
            return (Criteria) this;
        }

        public Criteria andContractNameNotEqualTo(String value) {
            addCriterion("CONTRACT_NAME <>", value);
            return (Criteria) this;
        }

        public Criteria andContractNameGreaterThan(String value) {
            addCriterion("CONTRACT_NAME >", value);
            return (Criteria) this;
        }

        public Criteria andContractNameGreaterThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NAME >=", value);
            return (Criteria) this;
        }

        public Criteria andContractNameLessThan(String value) {
            addCriterion("CONTRACT_NAME <", value);
            return (Criteria) this;
        }

        public Criteria andContractNameLessThanOrEqualTo(String value) {
            addCriterion("CONTRACT_NAME <=", value);
            return (Criteria) this;
        }

        public Criteria andContractNameLike(String value) {
            addCriterion("CONTRACT_NAME like", value);
            return (Criteria) this;
        }

        public Criteria andContractNameNotLike(String value) {
            addCriterion("CONTRACT_NAME not like", value);
            return (Criteria) this;
        }

        public Criteria andContractNameIn(List<String> values) {
            addCriterion("CONTRACT_NAME in", values);
            return (Criteria) this;
        }

        public Criteria andContractNameNotIn(List<String> values) {
            addCriterion("CONTRACT_NAME not in", values);
            return (Criteria) this;
        }

        public Criteria andContractNameBetween(String value1, String value2) {
            addCriterion("CONTRACT_NAME between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andContractNameNotBetween(String value1, String value2) {
            addCriterion("CONTRACT_NAME not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntIsNull() {
            addCriterion("WITHHOLDED_RNT is null");
            return (Criteria) this;
        }

        public Criteria andWithholdedRntIsNotNull() {
            addCriterion("WITHHOLDED_RNT is not null");
            return (Criteria) this;
        }

        public Criteria andWithholdedRntEqualTo(String value) {
            addCriterion("WITHHOLDED_RNT =", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntNotEqualTo(String value) {
            addCriterion("WITHHOLDED_RNT <>", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntGreaterThan(String value) {
            addCriterion("WITHHOLDED_RNT >", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntGreaterThanOrEqualTo(String value) {
            addCriterion("WITHHOLDED_RNT >=", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntLessThan(String value) {
            addCriterion("WITHHOLDED_RNT <", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntLessThanOrEqualTo(String value) {
            addCriterion("WITHHOLDED_RNT <=", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntLike(String value) {
            addCriterion("WITHHOLDED_RNT like", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntNotLike(String value) {
            addCriterion("WITHHOLDED_RNT not like", value);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntIn(List<String> values) {
            addCriterion("WITHHOLDED_RNT in", values);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntNotIn(List<String> values) {
            addCriterion("WITHHOLDED_RNT not in", values);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntBetween(String value1, String value2) {
            addCriterion("WITHHOLDED_RNT between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andWithholdedRntNotBetween(String value1, String value2) {
            addCriterion("WITHHOLDED_RNT not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionDateIsNull() {
            addCriterion("DEDUCTION_DATE is null");
            return (Criteria) this;
        }

        public Criteria andDeductionDateIsNotNull() {
            addCriterion("DEDUCTION_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andDeductionDateEqualTo(Date value) {
            addCriterion("DEDUCTION_DATE =", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateNotEqualTo(Date value) {
            addCriterion("DEDUCTION_DATE <>", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateGreaterThan(Date value) {
            addCriterion("DEDUCTION_DATE >", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateGreaterThanOrEqualTo(Date value) {
            addCriterion("DEDUCTION_DATE >=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateLessThan(Date value) {
            addCriterion("DEDUCTION_DATE <", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateLessThanOrEqualTo(Date value) {
            addCriterion("DEDUCTION_DATE <=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionDateIn(List<Date> values) {
            addCriterion("DEDUCTION_DATE in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionDateNotIn(List<Date> values) {
            addCriterion("DEDUCTION_DATE not in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionDateBetween(Date value1, Date value2) {
            addCriterion("DEDUCTION_DATE between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionDateNotBetween(Date value1, Date value2) {
            addCriterion("DEDUCTION_DATE not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonIsNull() {
            addCriterion("DEDUCTION_REASON is null");
            return (Criteria) this;
        }

        public Criteria andDeductionReasonIsNotNull() {
            addCriterion("DEDUCTION_REASON is not null");
            return (Criteria) this;
        }

        public Criteria andDeductionReasonEqualTo(String value) {
            addCriterion("DEDUCTION_REASON =", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonNotEqualTo(String value) {
            addCriterion("DEDUCTION_REASON <>", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonGreaterThan(String value) {
            addCriterion("DEDUCTION_REASON >", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonGreaterThanOrEqualTo(String value) {
            addCriterion("DEDUCTION_REASON >=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonLessThan(String value) {
            addCriterion("DEDUCTION_REASON <", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonLessThanOrEqualTo(String value) {
            addCriterion("DEDUCTION_REASON <=", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonLike(String value) {
            addCriterion("DEDUCTION_REASON like", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonNotLike(String value) {
            addCriterion("DEDUCTION_REASON not like", value);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonIn(List<String> values) {
            addCriterion("DEDUCTION_REASON in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonNotIn(List<String> values) {
            addCriterion("DEDUCTION_REASON not in", values);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonBetween(String value1, String value2) {
            addCriterion("DEDUCTION_REASON between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andDeductionReasonNotBetween(String value1, String value2) {
            addCriterion("DEDUCTION_REASON not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andAddByIsNull() {
            addCriterion("ADD_BY is null");
            return (Criteria) this;
        }

        public Criteria andAddByIsNotNull() {
            addCriterion("ADD_BY is not null");
            return (Criteria) this;
        }

        public Criteria andAddByEqualTo(String value) {
            addCriterion("ADD_BY =", value);
            return (Criteria) this;
        }

        public Criteria andAddByNotEqualTo(String value) {
            addCriterion("ADD_BY <>", value);
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThan(String value) {
            addCriterion("ADD_BY >", value);
            return (Criteria) this;
        }

        public Criteria andAddByGreaterThanOrEqualTo(String value) {
            addCriterion("ADD_BY >=", value);
            return (Criteria) this;
        }

        public Criteria andAddByLessThan(String value) {
            addCriterion("ADD_BY <", value);
            return (Criteria) this;
        }

        public Criteria andAddByLessThanOrEqualTo(String value) {
            addCriterion("ADD_BY <=", value);
            return (Criteria) this;
        }

        public Criteria andAddByLike(String value) {
            addCriterion("ADD_BY like", value);
            return (Criteria) this;
        }

        public Criteria andAddByNotLike(String value) {
            addCriterion("ADD_BY not like", value);
            return (Criteria) this;
        }

        public Criteria andAddByIn(List<String> values) {
            addCriterion("ADD_BY in", values);
            return (Criteria) this;
        }

        public Criteria andAddByNotIn(List<String> values) {
            addCriterion("ADD_BY not in", values);
            return (Criteria) this;
        }

        public Criteria andAddByBetween(String value1, String value2) {
            addCriterion("ADD_BY between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andAddByNotBetween(String value1, String value2) {
            addCriterion("ADD_BY not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNull() {
            addCriterion("ADD_TIME is null");
            return (Criteria) this;
        }

        public Criteria andAddTimeIsNotNull() {
            addCriterion("ADD_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andAddTimeEqualTo(Date value) {
            addCriterion("ADD_TIME =", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeNotEqualTo(Date value) {
            addCriterion("ADD_TIME <>", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThan(Date value) {
            addCriterion("ADD_TIME >", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ADD_TIME >=", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThan(Date value) {
            addCriterion("ADD_TIME <", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeLessThanOrEqualTo(Date value) {
            addCriterion("ADD_TIME <=", value);
            return (Criteria) this;
        }

        public Criteria andAddTimeIn(List<Date> values) {
            addCriterion("ADD_TIME in", values);
            return (Criteria) this;
        }

        public Criteria andAddTimeNotIn(List<Date> values) {
            addCriterion("ADD_TIME not in", values);
            return (Criteria) this;
        }

        public Criteria andAddTimeBetween(Date value1, Date value2) {
            addCriterion("ADD_TIME between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andAddTimeNotBetween(Date value1, Date value2) {
            addCriterion("ADD_TIME not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andUptByIsNull() {
            addCriterion("UPT_BY is null");
            return (Criteria) this;
        }

        public Criteria andUptByIsNotNull() {
            addCriterion("UPT_BY is not null");
            return (Criteria) this;
        }

        public Criteria andUptByEqualTo(String value) {
            addCriterion("UPT_BY =", value);
            return (Criteria) this;
        }

        public Criteria andUptByNotEqualTo(String value) {
            addCriterion("UPT_BY <>", value);
            return (Criteria) this;
        }

        public Criteria andUptByGreaterThan(String value) {
            addCriterion("UPT_BY >", value);
            return (Criteria) this;
        }

        public Criteria andUptByGreaterThanOrEqualTo(String value) {
            addCriterion("UPT_BY >=", value);
            return (Criteria) this;
        }

        public Criteria andUptByLessThan(String value) {
            addCriterion("UPT_BY <", value);
            return (Criteria) this;
        }

        public Criteria andUptByLessThanOrEqualTo(String value) {
            addCriterion("UPT_BY <=", value);
            return (Criteria) this;
        }

        public Criteria andUptByLike(String value) {
            addCriterion("UPT_BY like", value);
            return (Criteria) this;
        }

        public Criteria andUptByNotLike(String value) {
            addCriterion("UPT_BY not like", value);
            return (Criteria) this;
        }

        public Criteria andUptByIn(List<String> values) {
            addCriterion("UPT_BY in", values);
            return (Criteria) this;
        }

        public Criteria andUptByNotIn(List<String> values) {
            addCriterion("UPT_BY not in", values);
            return (Criteria) this;
        }

        public Criteria andUptByBetween(String value1, String value2) {
            addCriterion("UPT_BY between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andUptByNotBetween(String value1, String value2) {
            addCriterion("UPT_BY not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andUptTimeIsNull() {
            addCriterion("UPT_TIME is null");
            return (Criteria) this;
        }

        public Criteria andUptTimeIsNotNull() {
            addCriterion("UPT_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andUptTimeEqualTo(Date value) {
            addCriterion("UPT_TIME =", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeNotEqualTo(Date value) {
            addCriterion("UPT_TIME <>", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeGreaterThan(Date value) {
            addCriterion("UPT_TIME >", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPT_TIME >=", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeLessThan(Date value) {
            addCriterion("UPT_TIME <", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeLessThanOrEqualTo(Date value) {
            addCriterion("UPT_TIME <=", value);
            return (Criteria) this;
        }

        public Criteria andUptTimeIn(List<Date> values) {
            addCriterion("UPT_TIME in", values);
            return (Criteria) this;
        }

        public Criteria andUptTimeNotIn(List<Date> values) {
            addCriterion("UPT_TIME not in", values);
            return (Criteria) this;
        }

        public Criteria andUptTimeBetween(Date value1, Date value2) {
            addCriterion("UPT_TIME between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andUptTimeNotBetween(Date value1, Date value2) {
            addCriterion("UPT_TIME not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProcessStatusIsNull() {
            addCriterion("PROCESS_STATUS is null");
            return (Criteria) this;
        }

        public Criteria andProcessStatusIsNotNull() {
            addCriterion("PROCESS_STATUS is not null");
            return (Criteria) this;
        }

        public Criteria andProcessStatusEqualTo(String value) {
            addCriterion("PROCESS_STATUS =", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotEqualTo(String value) {
            addCriterion("PROCESS_STATUS <>", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusGreaterThan(String value) {
            addCriterion("PROCESS_STATUS >", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusGreaterThanOrEqualTo(String value) {
            addCriterion("PROCESS_STATUS >=", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusLessThan(String value) {
            addCriterion("PROCESS_STATUS <", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusLessThanOrEqualTo(String value) {
            addCriterion("PROCESS_STATUS <=", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusLike(String value) {
            addCriterion("PROCESS_STATUS like", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotLike(String value) {
            addCriterion("PROCESS_STATUS not like", value);
            return (Criteria) this;
        }

        public Criteria andProcessStatusIn(List<String> values) {
            addCriterion("PROCESS_STATUS in", values);
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotIn(List<String> values) {
            addCriterion("PROCESS_STATUS not in", values);
            return (Criteria) this;
        }

        public Criteria andProcessStatusBetween(String value1, String value2) {
            addCriterion("PROCESS_STATUS between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProcessStatusNotBetween(String value1, String value2) {
            addCriterion("PROCESS_STATUS not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProcessIdIsNull() {
            addCriterion("PROCESS_ID is null");
            return (Criteria) this;
        }

        public Criteria andProcessIdIsNotNull() {
            addCriterion("PROCESS_ID is not null");
            return (Criteria) this;
        }

        public Criteria andProcessIdEqualTo(String value) {
            addCriterion("PROCESS_ID =", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdNotEqualTo(String value) {
            addCriterion("PROCESS_ID <>", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdGreaterThan(String value) {
            addCriterion("PROCESS_ID >", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdGreaterThanOrEqualTo(String value) {
            addCriterion("PROCESS_ID >=", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdLessThan(String value) {
            addCriterion("PROCESS_ID <", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdLessThanOrEqualTo(String value) {
            addCriterion("PROCESS_ID <=", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdLike(String value) {
            addCriterion("PROCESS_ID like", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdNotLike(String value) {
            addCriterion("PROCESS_ID not like", value);
            return (Criteria) this;
        }

        public Criteria andProcessIdIn(List<String> values) {
            addCriterion("PROCESS_ID in", values);
            return (Criteria) this;
        }

        public Criteria andProcessIdNotIn(List<String> values) {
            addCriterion("PROCESS_ID not in", values);
            return (Criteria) this;
        }

        public Criteria andProcessIdBetween(String value1, String value2) {
            addCriterion("PROCESS_ID between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andProcessIdNotBetween(String value1, String value2) {
            addCriterion("PROCESS_ID not between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andOaIdIsNull() {
            addCriterion("OA_ID is null");
            return (Criteria) this;
        }

        public Criteria andOaIdIsNotNull() {
            addCriterion("OA_ID is not null");
            return (Criteria) this;
        }

        public Criteria andOaIdEqualTo(String value) {
            addCriterion("OA_ID =", value);
            return (Criteria) this;
        }

        public Criteria andOaIdNotEqualTo(String value) {
            addCriterion("OA_ID <>", value);
            return (Criteria) this;
        }

        public Criteria andOaIdGreaterThan(String value) {
            addCriterion("OA_ID >", value);
            return (Criteria) this;
        }

        public Criteria andOaIdGreaterThanOrEqualTo(String value) {
            addCriterion("OA_ID >=", value);
            return (Criteria) this;
        }

        public Criteria andOaIdLessThan(String value) {
            addCriterion("OA_ID <", value);
            return (Criteria) this;
        }

        public Criteria andOaIdLessThanOrEqualTo(String value) {
            addCriterion("OA_ID <=", value);
            return (Criteria) this;
        }

        public Criteria andOaIdLike(String value) {
            addCriterion("OA_ID like", value);
            return (Criteria) this;
        }

        public Criteria andOaIdNotLike(String value) {
            addCriterion("OA_ID not like", value);
            return (Criteria) this;
        }

        public Criteria andOaIdIn(List<String> values) {
            addCriterion("OA_ID in", values);
            return (Criteria) this;
        }

        public Criteria andOaIdNotIn(List<String> values) {
            addCriterion("OA_ID not in", values);
            return (Criteria) this;
        }

        public Criteria andOaIdBetween(String value1, String value2) {
            addCriterion("OA_ID between", value1, value2);
            return (Criteria) this;
        }

        public Criteria andOaIdNotBetween(String value1, String value2) {
            addCriterion("OA_ID not between", value1, value2);
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}